package com.zhonghui.wms.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhonghui.common.annotation.Excel;
import com.zhonghui.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 智能仓储WMS-运输管理-承运申请对象 wms_carrier_application
 * 
 * @author qiezi
 * @date 2023-12-22
 */
public class WmsCarrierApplication extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private String id;

    /** 单据号 */
    @Excel(name = "单据号")
    private String documentNo;

    /** 出库单号id */
    @Excel(name = "出库单号id")
    private Long outboundId;

    /** 出库单号 */
    @Excel(name = "出库单号")
    private String outboundNo;

    /** 发货单号id */
    @Excel(name = "发货单号id")
    private Long deliverId;

    /** 发货单号 */
    @Excel(name = "发货单号")
    private String deliverNo;

    /** 客户id */
    @Excel(name = "客户id")
    private Long customId;

    /** 交货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliveryDate;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String address;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contacts;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String telephone;

    /** 承运人 */
    @Excel(name = "承运人")
    private Long carrier;

    /** 运输距离 */
    @Excel(name = "运输距离")
    private Long distance;

    /** 申请人 */
    @Excel(name = "申请人")
    private Long applicant;

    /** 申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applicationDate;

    /** 申请状态 */
    @Excel(name = "申请状态")
    private Long applicationStatus;

    /** 审核人 */
    @Excel(name = "审核人")
    private Long approved;

    /** 审核日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approvedDate;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private Long approvedStatus;

    /** 审核意见 */
    private String approvedComments;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setDocumentNo(String documentNo) 
    {
        this.documentNo = documentNo;
    }

    public String getDocumentNo() 
    {
        return documentNo;
    }
    public void setOutboundId(Long outboundId) 
    {
        this.outboundId = outboundId;
    }

    public Long getOutboundId() 
    {
        return outboundId;
    }
    public void setOutboundNo(String outboundNo) 
    {
        this.outboundNo = outboundNo;
    }

    public String getOutboundNo() 
    {
        return outboundNo;
    }
    public void setDeliverId(Long deliverId) 
    {
        this.deliverId = deliverId;
    }

    public Long getDeliverId() 
    {
        return deliverId;
    }
    public void setDeliverNo(String deliverNo) 
    {
        this.deliverNo = deliverNo;
    }

    public String getDeliverNo() 
    {
        return deliverNo;
    }
    public void setCustomId(Long customId) 
    {
        this.customId = customId;
    }

    public Long getCustomId() 
    {
        return customId;
    }
    public void setDeliveryDate(Date deliveryDate) 
    {
        this.deliveryDate = deliveryDate;
    }

    public Date getDeliveryDate() 
    {
        return deliveryDate;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setContacts(String contacts) 
    {
        this.contacts = contacts;
    }

    public String getContacts() 
    {
        return contacts;
    }
    public void setTelephone(String telephone) 
    {
        this.telephone = telephone;
    }

    public String getTelephone() 
    {
        return telephone;
    }
    public void setCarrier(Long carrier) 
    {
        this.carrier = carrier;
    }

    public Long getCarrier() 
    {
        return carrier;
    }
    public void setDistance(Long distance) 
    {
        this.distance = distance;
    }

    public Long getDistance() 
    {
        return distance;
    }
    public void setApplicant(Long applicant) 
    {
        this.applicant = applicant;
    }

    public Long getApplicant() 
    {
        return applicant;
    }
    public void setApplicationDate(Date applicationDate) 
    {
        this.applicationDate = applicationDate;
    }

    public Date getApplicationDate() 
    {
        return applicationDate;
    }
    public void setApplicationStatus(Long applicationStatus) 
    {
        this.applicationStatus = applicationStatus;
    }

    public Long getApplicationStatus() 
    {
        return applicationStatus;
    }
    public void setApproved(Long approved) 
    {
        this.approved = approved;
    }

    public Long getApproved() 
    {
        return approved;
    }
    public void setApprovedDate(Date approvedDate) 
    {
        this.approvedDate = approvedDate;
    }

    public Date getApprovedDate() 
    {
        return approvedDate;
    }
    public void setApprovedStatus(Long approvedStatus) 
    {
        this.approvedStatus = approvedStatus;
    }

    public Long getApprovedStatus() 
    {
        return approvedStatus;
    }
    public void setApprovedComments(String approvedComments) 
    {
        this.approvedComments = approvedComments;
    }

    public String getApprovedComments() 
    {
        return approvedComments;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("documentNo", getDocumentNo())
            .append("outboundId", getOutboundId())
            .append("outboundNo", getOutboundNo())
            .append("deliverId", getDeliverId())
            .append("deliverNo", getDeliverNo())
            .append("customId", getCustomId())
            .append("deliveryDate", getDeliveryDate())
            .append("address", getAddress())
            .append("contacts", getContacts())
            .append("telephone", getTelephone())
            .append("carrier", getCarrier())
            .append("distance", getDistance())
            .append("applicant", getApplicant())
            .append("applicationDate", getApplicationDate())
            .append("applicationStatus", getApplicationStatus())
            .append("approved", getApproved())
            .append("approvedDate", getApprovedDate())
            .append("approvedStatus", getApprovedStatus())
            .append("remark", getRemark())
            .append("approvedComments", getApprovedComments())
            .toString();
    }
}
